地图系统库设置 Sample详情
最后更新时间:2020年12月8日
MapGIS Mobile平台中离线矢量地图显示的样式是依赖于系统库的,有了系统库,才能为地图的显示配置相应的颜色、符号、字体等等,在移动端离线矢量地图才能显示无误;如果没有系统库,地图将呈现为全黑状态。
移动与桌面端使用统一的数据库与文件库。其中,系统库包括Clib文件夹(字体库)、Slib文件夹(符号库、颜色库)。系统库为地图提供字体、符号、颜色资源,决定了地图显示的样式,地图中的要素才能显示成多种多样。可以配置不同的系统库来实现地图的不同配图效果。
移动端离线矢量地图显示时,会优先从此*.mapx地图文档文件的同级目录下读取系统库,如果没有找到,则读取环境初始化目录,如果此处也没有系统库,地图将会呈现黑色。当然,我们可以通过代码动态设置系统库的路径,就会优先从此路径读取。
具体请参考API:
通常在地图显示之前设置系统库,如有需要,也可在地图已显示之后再切换,不过要注意的是,此情况切换后要强制刷新,才能将地图显示效果变更。
import com.zondy.mapgis.geodatabase.config.EnvConfig; import com.zondy.mapgis.geodatabase.config.MapGisEnv; import com.zondy.mapgis.systemlib.SystemLibrarys; import com.zondy.mapgis.map.view.mapview.MapView; import com.zondy.mapgis.map.view.mapview.MapView.MapViewStopCurRequestCallback; //地图显示之后切换系统库 mapView.stopCurRequest(new MapViewStopCurRequestCallback() { @Override public void onDidStopCurRequest() { String FilePath = android.os.Environment.getExternalStorageDirectory().getPath() + "/MapGISSample/AnotherSystemlib"; //通过环境配置对象获取MapGIS系统环境 MapGisEnv mapGisEnv = EnvConfig.getGisEnv(); //设置系统库 mapGisEnv.setSlib(FilePath); //设置系统目录信息 EnvConfig.setGisEnv(mapGisEnv); //通过获得系统库方法实例化系统库对象 SystemLibrarys systemLibrarys = SystemLibrarys.getSystemLibrarys(); //重新打开符号库文件 systemLibrarys.reOpen(); //切换系统库之后必须强制刷新 mapView.forceRefresh(); } });